#ifndef __STATUS_H__
#define __STATUS_H__

#include <stdint.h>
#include <stdio.h>
#include <map>
#include <unordered_map>

#include "lifecycle_msgs/msg/transition.hpp"   // 包含生命周期消息中的转换消息
#include "lifecycle_msgs/msg/state.hpp"   // 包含生命周期消息中的转换消息

enum class Direction : uint8_t
{
    FrontLeft,
    LeftRear,
    FrontRight,
    RightRear,
    Back
};

enum class CheckType : uint8_t
{
    CHECK_TO_START,
    CHECK_TO_PAUSE,
    CHECK_TO_CLEANUP
};

static std::unordered_map<uint8_t, uint8_t> transition_state_map_ = 
{
  {lifecycle_msgs::msg::Transition::TRANSITION_CONFIGURE,
    lifecycle_msgs::msg::State::PRIMARY_STATE_INACTIVE},
  {lifecycle_msgs::msg::Transition::TRANSITION_CLEANUP,
    lifecycle_msgs::msg::State::PRIMARY_STATE_UNCONFIGURED},
  {lifecycle_msgs::msg::Transition::TRANSITION_ACTIVATE,
    lifecycle_msgs::msg::State::PRIMARY_STATE_ACTIVE},
  {lifecycle_msgs::msg::Transition::TRANSITION_DEACTIVATE,
    lifecycle_msgs::msg::State::PRIMARY_STATE_INACTIVE},
  {lifecycle_msgs::msg::Transition::TRANSITION_UNCONFIGURED_SHUTDOWN,
    lifecycle_msgs::msg::State::PRIMARY_STATE_FINALIZED}
};

#endif